Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Document layout analysis</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Document_layout_analysis"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Document_layout_analysis rootpage-Document_layout_analysis skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Document layout analysis</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1305433154">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<p>In <a href="Computer_vision" title="Computer vision">computer vision</a> or <a href="Natural_language_processing" title="Natural language processing">natural language processing</a>, <b>document layout analysis</b> is the process of identifying and categorizing the <a href="Region_of_interest" title="Region of interest">regions of interest</a> in the <a href="Image_scanner" title="Image scanner">scanned</a> image of a text document. A reading system requires the segmentation of text zones from non-textual ones and the arrangement in their correct reading order.<sup id="cite_ref-baird92_1-0" class="reference"><a href="#cite_note-baird92-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Detection and labeling of the different zones (or blocks) as <a href="Typography" title="Typography">text</a> body, <a href="Illustration" title="Illustration">illustrations</a>, <a href="Mathematical_notation" title="Mathematical notation">math symbols</a>, and tables embedded in a document is called <b>geometric layout analysis</b>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> But text zones play different logical roles inside the document (titles, captions, footnotes, etc.) and this kind of semantic labeling is the scope of the <b>logical layout analysis</b>.
</p><p>Document layout analysis is the union of geometric and logical labeling. It is typically performed before a document image is sent to an <a href="Optical_character_recognition" title="Optical character recognition">OCR</a> engine, but it can be used also to detect duplicate copies of the same document in large archives, or to index documents by their structure or pictorial content.
</p><p>Document layout is formally defined in the international standard <a href="International_Organization_for_Standardization" title="International Organization for Standardization">ISO</a> <a href="Open_Document_Architecture" title="Open Document Architecture">8613-1:1989</a>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Overview_of_methods">Overview of methods</h2></div>
<p>There are two main approaches to document layout analysis. Firstly, there are <b>bottom-up</b> approaches which iteratively parse a document based on the raw pixel data. These approaches typically first parse a document into connected regions of black and white, then these regions are grouped into words, then into text lines, and finally into text blocks.<sup id="cite_ref-Gorman93_3-0" class="reference"><a href="#cite_note-Gorman93-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Lee01_4-0" class="reference"><a href="#cite_note-Lee01-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Secondly, there are <b>top-down</b> approaches which attempt to iteratively cut up a document into columns and blocks based on white space and geometric information.<sup id="cite_ref-Lee01_4-1" class="reference"><a href="#cite_note-Lee01-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>The bottom-up approaches are the traditional ones, and they have the advantage that they require no assumptions on the overall structure of the document. On the other hand, bottom-up approaches require iterative segmentation and clustering, which can be time consuming.<sup id="cite_ref-Lee01_4-2" class="reference"><a href="#cite_note-Lee01-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Top-down approaches have the advantage that they parse the global structure of a document directly, thus eliminating the need to iteratively cluster together the possibly hundreds or even thousands of characters/symbols which appear on a document. They tend to be faster, but in order for them to operate robustly they typically require a number of assumptions to be made about on the layout of the document.<sup id="cite_ref-Lee01_4-3" class="reference"><a href="#cite_note-Lee01-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Examples of top-down approaches include the recursive X-Y cut algorithm, which decomposes the document in rectangular sections.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>There are two issues common to any approach at document layout analysis: noise and skew. Noise refers to image noise, such as <a href="Salt_and_pepper_noise" class="mw-redirect" title="Salt and pepper noise">salt and pepper noise</a> or <a href="Gaussian_noise" title="Gaussian noise">Gaussian noise</a>. Skew refers to the fact that a document image may be rotated in a way so that the text lines are not perfectly horizontal. It is a common assumption in both document layout analysis algorithms and <a href="Optical_character_recognition" title="Optical character recognition">optical character recognition</a> algorithms that the characters in the document image are oriented so that text lines are horizontal. Therefore, if there is skew present then it is important to rotate the document image so as to remove it.
</p><p>It follows that the first steps in any document layout analysis code are to remove image noise and to come up with an estimate for the skew angle of the document.
</p>
<div class="mw-heading mw-heading2"><h2 id="Example_of_a_bottom_up_approach">Example of a bottom up approach</h2></div>
<p>In this section we will walk through the steps of a bottom-up document layout analysis algorithm developed in 1993 by O`Gorman.<sup id="cite_ref-Gorman93_3-1" class="reference"><a href="#cite_note-Gorman93-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The steps in this approach are as follows:
</p>
<ol><li>Preprocess the image to remove Gaussian and salt-and-pepper noise. Note that some noise removal filters may consider commas and periods as noise, so some care must be taken.</li>
<li>Convert the image into a <b>binary image</b>, i.e. convert each pixel value to completely white or completely black.</li>
<li>Segment the image into connected components of black pixels. These are the <b>symbols</b> of the image. For each symbol, compute a bounding box and centroid.</li>
<li>For each symbol, determine its <a href="K-nearest_neighbors_algorithm" title="K-nearest neighbors algorithm">k nearest neighbors</a> where k is an integer greater than or equal to four. O`Gorman suggests k=5 in his paper as a good compromise between robustness and speed. The reason to use at least k=4 is that for a symbol in a document, the two or three nearest symbols are the ones right next to it on the same text line. The fourth-nearest symbol is typically on a line right above or below, and it is important to include these symbols in the nearest neighbor calculation for the following.</li>
<li>Each nearest neighbor pair of symbols is related by a vector pointing from one symbol’s centroid to the other symbol’s centroid. If these vectors are plotted for every pair of nearest neighbor symbols, then one gets what is called the <b>docstrum</b> for the document (See figure below). One can also use the angle Θ from the horizontal and distance D between two nearest neighbor symbols and create a nearest-neighbor angle and nearest-neighbor distance histogram.</li>
<li>Using the nearest-neighbor angle histogram, the skew of the document can be calculated. If the skew is acceptably low, continue to the next step. If it is not, rotate the image so as to remove the skew and return to step 3.</li>
<li>The nearest-neighbor distance histogram has several peaks, and these peaks typically represent between-character spacing, between-word spacing, and between-line spacing. Calculate these values from the histogram and set them aside.</li>
<li>For each symbol, look at its nearest neighbors and flag any of them that are a distance away which is within some tolerance of the between-character spacing distance or between-word spacing distance. For each nearest neighbor symbol which is flagged, draw a line segment connecting their centroids.</li>
<li>Symbols connected to their neighbors by line segments form <b>text lines</b>. Using all the centroids in a text line, one can compute an actual line segment representing the text line with linear regression. This is important because it is unlikely that all the centroids of symbols in a text line are actually collinear.</li>
<li>For each pair of text lines, one can compute a minimum distance between their corresponding line segments. If this distance is within some tolerance of the between-line spacing calculated in step 7, then the two text lines are grouped into the same <b>text block</b>.</li>
<li>Finally, one can calculate a bounding box for each text block, and the document layout analysis is complete.</li></ol>
<div class="mw-heading mw-heading2"><h2 id="Layout_analysis_software">Layout analysis software</h2></div>
<ul><li><a href="OCRopus" title="OCRopus">OCRopus</a> – A free document layout analysis and OCR system, implemented in C++ and Python and for FreeBSD, Linux, and Mac OS X. This software supports a plug-in architecture which allows the user to select from a variety of different document layout analysis and OCR algorithms.</li>
<li><a href="OCRFeeder" title="OCRFeeder">OCRFeeder</a> – An OCR suite for Linux, written in python, which also supports document layout analysis. This software is actively being developed, and is free and open-source.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Document_processing" title="Document processing">Document processing</a></li>
<li><a href="Open_Document_Architecture" title="Open Document Architecture">Open Document Architecture</a></li>
<li><a href="Page_layout" title="Page layout">Page layout</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.researchgate.net/publication/2564797_High_Performance_Document_Layout_Analysis">High Performance Document Layout Analysis by Thomas M. Breuel, at PARC, Palo Alto, CA, USA</a>, 2003</li>
<li><a rel="nofollow" class="external text" href="https://drive.google.com/file/d/1dGnz1nL195TyXXpQgG1vyNwYOeL_J_wP/view?usp=sharing">Geometric Layout Analysis Techniques for Document Image Understanding: a Review, ITC-irst Technical Report TR#9703-09</a>, 1998.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFO'Gorman1993" class="citation journal cs1">O'Gorman, L. (1993). "The document spectrum for page layout analysis". <i>IEEE Transactions on Pattern Analysis and Machine Intelligence</i>. <b>15</b> (11): <span class="nowrap">1162–</span>1173. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F34.244677">10.1109/34.244677</a>.</cite></li>
<li><cite id="CITEREFSimonPretJohnson1997" class="citation journal cs1">Simon, A.; Pret, J.-C.; Johnson, A.P. (1997). "A fast algorithm for bottom-up document layout analysis". <i>IEEE Transactions on Pattern Analysis and Machine Intelligence</i>. <b>19</b> (3): <span class="nowrap">273–</span>277. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F34.584106">10.1109/34.584106</a>.</cite></li>
<li><cite id="CITEREFSeong-Whan_LeeDae-Seok_Ryu2001" class="citation journal cs1">Seong-Whan Lee; Dae-Seok Ryu (2001). "Parameter-free geometric document layout analysis". <i>IEEE Transactions on Pattern Analysis and Machine Intelligence</i>. <b>23</b> (11): <span class="nowrap">1240–</span>1256. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F34.969115">10.1109/34.969115</a>.</cite></li>
<li><cite id="CITEREFDengelBarth1989" class="citation journal cs1">Dengel, Andreas; Barth, Gerhard (1989). <a rel="nofollow" class="external text" href="http://dl.acm.org/citation.cfm?id=1623955">"ANASTASIL: hybrid knowledge-based system for document layout analysis"</a>. Ijcai'89: <span class="nowrap">1249–</span>1254.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite journal}}</code>: </span><span class="cs1-visible-error citation-comment">Cite journal requires <code class="cs1-code">|journal=</code> (help)</span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-baird92-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-baird92_1-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBaird1992" class="citation journal cs1">Baird, K.S. (July 1992). "Anatomy of a versatile page reader". <i>Proceedings of the IEEE</i>. <b>80</b> (7): <span class="nowrap">1059–</span>1065. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.40.8060">10.1.1.40.8060</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F5.156469">10.1109/5.156469</a>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFCattoniCoianizMesselodiModena" class="citation journal cs1">Cattoni, R.; Coianiz, T.; Messelodi, S.; Modena, C. M. "Geometric Layout Analysis Techniques for Document Image Understanding: a Review. ITC-irst Technical Report TR#9703-09".</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite journal}}</code>: </span><span class="cs1-visible-error citation-comment">Cite journal requires <code class="cs1-code">|journal=</code> (help)</span></span>
</li>
<li id="cite_note-Gorman93-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-Gorman93_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Gorman93_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFO'Gorman1993" class="citation journal cs1">O'Gorman, L. (1993). "The document spectrum for page layout analysis". <i>IEEE Transactions on Pattern Analysis and Machine Intelligence</i>. <b>15</b> (11): <span class="nowrap">1162–</span>1173. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F34.244677">10.1109/34.244677</a>.</cite></span>
</li>
<li id="cite_note-Lee01-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-Lee01_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Lee01_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Lee01_4-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Lee01_4-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFSeong-Whan_LeeDae-Seok_Ryu2001" class="citation journal cs1">Seong-Whan Lee; Dae-Seok Ryu (2001). "Parameter-free geometric document layout analysis". <i>IEEE Transactions on Pattern Analysis and Machine Intelligence</i>. <b>23</b> (11): <span class="nowrap">1240–</span>1256. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.574.7875">10.1.1.574.7875</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F34.969115">10.1109/34.969115</a>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFHaHaralickPhillips1995" class="citation journal cs1">Ha, Jaekyu; Haralick, Robert M.; Phillips, Ihsin T. (1995). <a rel="nofollow" class="external text" href="http://haralick.org/conferences/71280952.pdf">"Recursive X-Y Cut using Bounding Boxes of Connected Components"</a> <span class="cs1-format">(PDF)</span>. <i>Proceedings of the Third International Conference on Document Analysis and Recognition (ICDAR '95)</i>.</cite></span>
</li>
</ol></div></div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Optical_character_recognition_software91" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Optical_character_recognition_software91" style="font-size:114%;margin:0 4em"><a href="Optical_character_recognition" title="Optical character recognition">Optical character recognition</a> software</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Free_software" title="Free software">Free software</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CuneiForm_(software)" title="CuneiForm (software)">CuneiForm</a></li>
<li><a href="GOCR" title="GOCR">GOCR</a></li>
<li><a href="Ocrad" title="Ocrad">Ocrad</a></li>
<li><a href="OCRFeeder" title="OCRFeeder">OCRFeeder</a></li>
<li><a href="OCRopus" title="OCRopus">OCRopus</a></li>
<li><a href="Tesseract_(software)" title="Tesseract (software)">Tesseract</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Proprietary_software" title="Proprietary software">Proprietary software</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ABBYY_FineReader" title="ABBYY FineReader">ABBYY FineReader</a></li>
<li><a href="Adobe_Acrobat_Pro" class="mw-redirect" title="Adobe Acrobat Pro">Adobe Acrobat Pro</a></li>
<li><a href="Asprise_OCR" title="Asprise OCR">Asprise OCR</a></li>
<li><a href="Microsoft_Office_Document_Imaging" class="mw-redirect" title="Microsoft Office Document Imaging">Microsoft Office Document Imaging</a></li>
<li><a href="OmniPage" title="OmniPage">OmniPage</a></li>
<li><a href="ReadSoft" title="ReadSoft">ReadSoft</a></li>
<li><a href="SmartScore" title="SmartScore">SmartScore</a></li>
<li><a href="TeleForm" title="TeleForm">TeleForm</a></li>
<li><a href="VueScan" title="VueScan">VueScan</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">See also</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_optical_character_recognition_software" title="Comparison of optical character recognition software">Comparison of optical character recognition software</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox authority-control" aria-label="Navbox391" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Authority control databases: National </th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4209215-2">Germany</a></span></li></ul></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-06-19" href="https://en.wikipedia.org/wiki/?title=Document_layout_analysis&amp;oldid=1296370077">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>